<template>
  <div class="home-classic">
    <h3>经典歌单</h3>
    <div class="wrapper" ref="wrapper">
      <ul class="content" ref="content">
        <li v-for="(item, index) in listData" :key="index">
          <div class="cover">
            <van-image :src="item.cover_url_small" radius="1rem" />
            <span> {{ item.access_num | numFilter(1) }}万 </span>
          </div>
          <span> {{ item.title }} </span>
        </li>
      </ul>
    </div>
  </div>
</template>

<script>
import { betterScrollHorizontal } from '../../common/betterScroll.js'//引入betterscroll
export default {
  data() {
    return {
      listData: [],
      pageNO: 1,//歌单返回的页码
      pageSize: 6,//歌单每页返回数量
      id: 59//分类推荐歌单id
    };
  },
  created() {
    this.getData(this.id, this.pageNO, this.pageSize)
  },
  methods: {
    getData(id, pageNO, pageSize) {
      this.$request('get', '/recommend/playlist', {
        id,
        pageNO,
        pageSize,
      })
        .then(res => {
          console.log(res);
          if (res.result == 100) {
            this.listData = res.data.list;
          }
          //调用横向滚动的方法
          betterScrollHorizontal(
            this,
            this.$refs.wrapper,
            this.$refs.content,
            this.listData.length,
            10
          );//调用横线滚动的方法
        });
    },
  },
  // filters: {
  //     numFilter(value, num) {
  //         //把小数位固定位num位
  //         return parseFloat(value / 10000).toFixed(num)
  //     }
  // }
};

</script>

<style scoped>
.cover {
  position: relative;
}

.cover>span {
  position: absolute;
  right: 0.2rem;
  bottom: 0.4rem;
  background-color: #a6a0a0;
  color: white;
  width: 5rem;
  border-radius: 1rem;
  font-size: 14px;
  display: inline-block;
}

.wrapper {
  width: 100%;
  /*容器的宽度是屏幕的宽度*/
  overflow: hidden;
}

/* content内容区的宽度要大于wrapper容器的宽度，12个列表项*/
/* ul.content {
  width: calc(12 * 10rem);
} */

ul.content>li {
  /*li默认是块级元素，修改为内行元素，但是要具备块级元素的特性 */
  display: inline-block;
  width: 10rem;
  vertical-align: top;
  /*垂直方向的位置*/
}

/*li里面有两个元素：div和span，所以使用通配符 */
ul.content>li * {
  margin: 0 0.1rem;
  /*里面的元素与li的边缘有个间距 */
}

ul.content>li>span {
  font-size: 0.8rem;
  color: #54493b;
}
</style>